home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -serious- / workbench / directoryopus4 / dopus4_src / include / clib / accounts_protos.h next >
C/C++ Source or Header  |  2000-03-11  |  1KB  |  62 lines

  1. #ifndef  CLIB_ACCOUNTS_PROTOS_H
  2. #define  CLIB_ACCOUNTS_PROTOS_H
  3.  
  4. #ifndef  EXEC_TYPES_H
  5. #include <exec/types.h>
  6. #endif
  7.  
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11.  
  12.  
  13. struct UserInfo
  14. {
  15.     UBYTE    ui_UserName[32];
  16.     UWORD    ui_UserID;
  17.     UWORD    ui_PrimaryGroupID;
  18.     ULONG   ui_Flags;
  19. };
  20.  
  21. struct GroupInfo
  22. {
  23.     UBYTE    gi_GroupName[32];
  24.     UWORD    gi_GroupID;
  25. };
  26.  
  27. /* allocation functions */
  28.  
  29. struct UserInfo *AllocUserInfo(void);
  30. struct GroupInfo *AllocGroupInfo(void);
  31. void FreeUserInfo(struct UserInfo *user);
  32. void FreeGroupInfo(struct GroupInfo *group);
  33.  
  34. /* xxxToyyy functions */
  35.  
  36. ULONG NameToUser(STRPTR uname, struct UserInfo *user);
  37. ULONG NameToGroup(STRPTR gname, struct GroupInfo *group);
  38. ULONG IDToUser(UWORD uid, struct UserInfo *user);
  39. ULONG IDToGroup(UWORD gid, struct GroupInfo *group);
  40.  
  41. /* Nextxxx functions */
  42.  
  43. ULONG NextUser(struct UserInfo *user);
  44. ULONG NextGroup(struct GroupInfo *group);
  45. ULONG NextMember(struct GroupInfo *group, struct UserInfo *user);
  46.  
  47. /* memberof */
  48.  
  49. ULONG MemberOf(struct GroupInfo *group, struct UserInfo *user);
  50.  
  51. /* encryption & verification */
  52.  
  53. STRPTR ECrypt(STRPTR buff, STRPTR passwd, STRPTR uname);
  54. ULONG VerifyUser(STRPTR uname, STRPTR passwd, struct UserInfo *user);
  55. ULONG VerifyUserCrypt(STRPTR uname, STRPTR passwd, struct UserInfo *user);
  56.  
  57. #ifdef __cplusplus
  58. }
  59. #endif
  60.  
  61. #endif     /* C_ACCOUNTS_PROTOS_H */
  62.